{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHdpJREFUeJzt3X2QXNWZ3/HvI5jRtDQavSRjCAiPwCAje40ZuSSzYROP\nsGQv3hS4KilkZWtj8KxrKS02IS6vhfOHVKXCC664KCprlVB2AioXGgS7jo23SAQKmk0clz0D2Ib1\nSIQyK4GJ0bRtRVm2BiRWT/7oO6LV6umXe/t233v696nqUvft6e5zpjXPPfc5b+buiIhIuBZ0ugAi\nIpIuBXoRkcAp0IuIBE6BXkQkcAr0IiKBU6AXEQlc3UBvZmNmdtzMXqjy3JfM7IyZrSg7dreZvWxm\nh83sE60usIiINKeRFv1DwCcrD5rZSmATcKzs2BrgFmANcCOwy8ysNUUVEZE46gZ6d/8+cKLKU/cD\nX644djPwqLu/4+5HgZeB9UkLKSIi8cXK0ZvZTcBr7v5ixVOXAq+VPX49OiYiIh1yYbMvMLMC8FVK\naRsREcm4pgM98D5gFfDTKP++EnjezNZTasG/t+xnV0bHzmNmWmRHRCQGd2+q77PR1I1FN9z9b9z9\nYne/wt0vB34BDLv7DPAEsNnMes3scuBKYLJGYYO9bd++veNlUP1Uv26sX8h1c4/XPm5keOU+4AfA\najN71cxuq4zXZSeBaeAxYBp4EtjqcUsmIiItUTd14+7/us7zV1Q8/lPgTxOWS0REWkQzY1MyMjLS\n6SKkSvXLt5DrF3Ld4rJOZVbMTFkdEZEmmRmeUmesiIjklAK9iEjgFOhFRAKnQC8iEjgFehGRwCnQ\ni4gEToFeRCRwCvQiIoFToBcRCZwCvYhI4BToRUQCp0AvIhI4BXoRkcAp0IuIBE6BXkQkcAr0IiKB\nU6AXEQmcAr2ISOAU6EVEAqdALyISOAV6EZHAKdCLiAROgV5EJHAK9CIigVOgFxEJnAK9iEjg6gZ6\nMxszs+Nm9kLZsa+b2WEz+4mZ/aWZDZQ9d7eZvRw9/4m0Ci4iIo1ppEX/EPDJimNPAR9092uBl4G7\nAczsA8AtwBrgRmCXmVnriisiIs2qG+jd/fvAiYpjB939TPTwh8DK6P5NwKPu/o67H6V0EljfuuKK\niEizWpGj/xzwZHT/UuC1sudej46JiEiHJAr0ZvbvgdPuPt6i8ohIoIrFIlNTUxSLxU4XpetcGPeF\nZnYr8CnghrLDrwOXlT1eGR2raseOHWfvj4yMMDIyErc4IpJh4+P7GR3dSm/vKk6dOsrY2C62bNnc\n6WLlwsTEBBMTE4new9y9/g+ZrQK+5+4fih7/LvAN4J+7+6/Lfu4DwCPARymlbJ4GrvIqH2Jm1Q6L\nSGCKxSJDQ1czO3sIuAZ4gUJhA8eOHWFwcLDTxcsdM8Pdmxrk0sjwyn3AD4DVZvaqmd0G/EegH3ja\nzJ43s10A7j4NPAZMU8rbb1U0F+luR48epbd3FaUgD3ANPT1DHD16tHOF6jINtehT+WC16EW6glr0\nrZVKi15EJInBwUHGxnZRKGxgYGAthcIGxsZ2Kci3kVr0ItIWxWKRo0ePsmrVKgX5BOK06BXoRaQp\nnQ7Ynf78TlPqRkRSNT6+n6Ghq9m06XaGhq5mfHx/V31+XqlFLyIN6XSnaqc/PyvUoheR1HR6mGSn\nPz/PFOhFpCGrVpVmtcLciuUvcPr0MVatWtUVn59nCvQi0pBOD5Ps9OfnmXL0ItKUTo966fTnd5qG\nV4qIBE6dsSIich4FehGRwCnQi4gEToFeRCRwCvQiIoFToBcRCZwCvYhI4BToRUQCp0AvIhI4BXoR\nkcAp0IuIBE6BXkQkcAr0IhKcYrHI1NQUxWKx00XJBAV6EQmK9pU9n5YpFpFgdMO+slqmWES6mvaV\nrU6BXkSCoX1lq1OgF5FgaF/Z6pSjF5HghLyvbCp7xprZGPAvgOPufk10bDmwHxgCjgK3uPvJ6Lm7\ngc8B7wB3uvtT87yvAr2ISJPS6ox9CPhkxbFtwEF3fz/wDHB3VIAPALcAa4AbgV1m1lSBRESkteoG\nenf/PnCi4vDNwN7o/l7g09H9m4BH3f0ddz8KvAysb01RRUQkjridse9x9+MA7v4G8J7o+KXAa2U/\n93p0TERSoBmg0ogLW/Q+sZLtO3bsOHt/ZGSEkZGRFhVHJHzj4/sZHd1Kb29pSOHY2C62bNnc6WJJ\ni01MTDAxMZHoPRoadWNmQ8D3yjpjDwMj7n7czC4GDrn7GjPbBri73xf93H8Dtrv7j6q8pzpjRWLq\nhhmglUIeSdOMNGfGWnSb8wRwa3T/s8B3y45/xsx6zexy4EpgspkCiUh9SWeA5i3lo/Vrkqkb6M1s\nH/ADYLWZvWpmtwH3ApvM7CXg49Fj3H0aeAyYBp4EtqrZLtJ61WaAvv3239Lf31/3tXkLmsVikdHR\nrczOHuLkyeeYnT3E6OjW3JykskATpkRyai5HD5cwO/tzCoWLgZM1c/V5TPlMTU2xadPtnDz53Nlj\nAwNrOXjwQdatW9fBknWGFjUT6RKHDx/m1Km3eOyxvZw58yrwJLOzr9Rt7eZx0S+tX5Ncq0bdiEib\nfOEL/5Y/+7M9wGXAa/T0DAIj0bPvBu5qLfRzg2apRZ80aKbdSTq3fs3o6AZ6eoY4ffqY1q9plrt3\n5Fb6aBFpxvT0tEPB4acOHv1bcDh09nGhsMJnZmbmfY99+x71QmGFDwwMe6GwwvftezR2eebea+nS\ntYnfq56ZmRmfnJysWbduEMXOpuKtcvQiObJ3715uvfVrwEtlR6+ip+cNCoWrzrZ2642nb0UrPI/5\n/hDEydErdSOSI+vXr6c0+fzd1Au8zqFDT9Pb29tw4B4cHEwcjOfy/bOz5+f7BwcHNe49Q9QZK5Ij\na9as4Y47Pg9cB6wGruOOOz7P9ddfz7p169oaUGt1kuZtCGfolLoRyaHDhw8zOTnJ+vXrWbNmTcfK\nMTfEs7yTdOPGG5TSSVEq69GnRYFeJAyVKRqNe0+XcvQiXSQrOfDKfH8aQzglGeXoRXIoyzlw7dua\nPUrdSK5lpVXbTnkZ1tiN3007aAkE6SpZbtWmKS/LGAwODrZ9JJBUpxa95FJeWrVp6Oa6i1r00kXy\n0qpNg3Lg0iy16CWX8tSqTStXrRx4d1KLXrpGXlq1afYjKAcujVKLXnIty63arF11ZPl3JY1Ti16C\n0eiepllu1WapHyHplUXe9piVcynQS+bkcdhktUCYlZ2Rku65msfvQyo0u4B9q25o4xGpYmZmxguF\nFedsrFFvI400ytDMBhe1Nt/Yt+9R7+tb5osXr/a+vmVNbczRqo02JicnfenStdHvs3QbGBj2ycnJ\nhsrQ6e9DzkWMjUfUopdMaXe6o7Il3mzrtZHWstkCoBD925hWtqKTXFlkKf0kCTR7ZmjVDbXopYp2\ntiArW+K7d+9p+rNrtZbj1iWN30Hc7QPVos8eYrToFeglc1q5p+l8qgWwhQsHfMmS4aZSHLUCYdyU\nSZJUS706x0kFpfV9aA/YeBToJRhpB4FqwbS//7d84cJl5wXtAwcOxNpsu9Ut+unp6Y4FxlZ/H+3c\nVDw0CvQSlDSD/XzBdC59s3jxNd7TM+A9Pf0NBaP5yhq3NVz5ujvuuDOYwKh0UDIK9BKMdrT4qgXh\nuVEyixatduhzuC9xMKo8CTR6Apv7uenp6aACY1qpqW6hQC9BaGeLrzzovvu5hxwmo39XOMy0LBjF\nOYGFFhjVok8mTqDX8ErJnHYO6SufWVt6/2XAvwRuj/7tB47SislOcScuZWXiVavkZZ2ikCTaM9bM\n7gJGgTPAi8BtwGJgPzBE6S/kFnc/mayY0k06tedof38/s7O/BH549nPhOhYv/jecOTOTOBjNncBm\nZ88/gdV634MHn+Gdd04Bvw38E3p7f8XY2IO5Doxbtmxm48YbtPZOm8Ru0ZvZJcAXgLXufg2lk8YW\nYBtw0N3fDzwD3N2Kgkq6srSWSadafG+++SaFwpWUX0n09V3BN7+5jWPHjrBly+ZE7x+nZT53FXD6\n9P8CngU+i5mzceMNicqSBVlepyg4zeZ65m7AJcAxYDmlIP8EsBE4AlwU/czFwJF5Xp9uIksaltWh\nbu0eZ51kOGSj5WxkFE75+72bn3806i9Y67DId+68J3Y9Jd9od2cs8EXg74DjwLeiYycqfuY387w2\n1V+GNCaNjrFOTYRpxec2OxwyzklyenraH374YZ+enq77frt37/G+vmUOy9V5Ke7e5kBPqdfqvwMr\ngAuAbwO/XxnYgV/P83rfvn372duhQ4fS/e1IVa0e0dGpq4NWfm4zwx+bPUnWKud877dt21cdrgxm\n1I0059ChQ+fEynYH+n8F/Keyx38AfBM4XJG6OTzP61P+9UgjWtmi79SwuU59brMnyXozXg8cOFD1\n/Q4cONCx36uWKMieOIE+yfDKV4HrzKzPzAz4ODAd5epvjX7ms8B3E3yGpKyVHZ+dWumwU5/bbOdq\ntXLCJQwPX8emTbdz882bmZ39+XnvNzw8HOs7StLBrjXoA9PsmaH8Bmyn1IJ/AdgL9FBK5RwEXgKe\nApbN89rUz3zSuFa03uq1rNNqIXZyAk4zOf1q5YRCNDGr9Linp3/e94vT6RsnlaUJTdmGZsZKp80X\n+NLO3bdjxcv5xB11s3DhMi8ULq+aqklyQkwaqEObiRuaOIFem4NLy1VuQt2uTbLzsvn1XDn7+/v5\nyEd+p+W/l6mpKTZtup2TJ587e2xgYC0HDz7IunXrGipfljY1l3PF2Rw80cxYkWoGBwfPCQhxZ4Qm\n/dxyaZwE4r5neTnHxnYxOrqBnp4hTp8+Frt/pLwsSWcWz/XbtKJckhHNXgK06oZSN12j0znfNNJG\nnRjO2UxZKlNZO3fe0/T7a9RNNqEcvWRVp3LoaU0Iy0Jn5czMjB84cCCaUHV+WWZmZnznznu8r29Z\n5mY9S3xxAr1SN9IWjS5i1eoUSyvTRnNlO3HiRFtSUbWMj+9ndHQrCxZcxltvnaI0+O2ac8qyatUq\nvva1b/DWW3/NW2+VUjijoxvYuPEGpWG6TbNnhlbdUIteKqSRYmlV67uybD09/R1r0VcfprncS+vm\nJ9+zVrINpW4kr9JMhyRNG1UrW2/vUu/rW9aR4ZzVAji8zxcvXt2SPWsl2+IEeqVuJBOSplhqpXxq\npY0aSRVVK1tf3xU8/vi9LF++vO3DOauNqikUTvDtb48zPDx8tiwaPSNnNXtmaNUNteilTJLW53wp\nn3qjRhpNFTVatnaOUml2Rq5Gz4QDpW4kz+KkWOYLwrt376kZxJs9sdQrW9IlB+IEYgXw7qRAL7nX\nbPCqlq9esuRaX7hwoGYQj9NROV/Z0rgaSZtOEvmlQB8o/VHOr1qQXbhwmS9Z8qGaQbyVC7DFHd3S\nqc7SrO4oJo1RoA+Q/ijrq0yrzKVt6gXQWguw9fUt88WL3+99fcvq5vzjBuxODH/USJz8U6APjP4o\nG1cZhBvN91e+bmZmxnt6lkTj0tc6LPeenv66Of/5Pq/WlUEnvl+Nrc8/BfrA6I8ymTgprwMHDjgs\nqpiMtMh7e2vn/Kt9XiNXY+1eGkKNh/xToA+M/ijbrxToz92fFd7nixatbrrjttHvrt19MJ1cu1+S\nixPoNWEqo+Ym8tx//73cdZcmvLTL8PAwvb1FTp16dzJST0+RM2cW0Myyv81MAKu1vHIaGl13SMKh\nQJ9BcwtW9faWZkDef/+9rF17bdf/UbZjY5HBwUEefvhBRkc3sGDBSs6c+QVjY3sAmpphmnRN+LS1\n++QiHdbsJUCrbih1U5XSNdUlHX3UbHqk2s83+x5KkUga0FaC+Zd0G7h2a0crO+nWdpVXSGNju9iy\nZXMqZa2Ul+0NJT/ibCW4IK3CSDznXvJD1i75y42P72do6Go2bbqdoaGrGR/ff87zxWKRqakpisVi\n0+9d/tq5fHcpyEN5vruR9xkd3crs7CFOnnyO2dlDjI5ujVWmOAYHB1m3bp2CvHSUAn3GzK04WChs\nYGBgLYXChkx2wNYLoPVOArVUvvb5538S++SX5CQhEoxmcz2tuqEcfU1ZX/ag1hj/JP0M9RYpazbf\nrT4PCQ0aXhmOrI+KqDWqJMna8vO9du3aazl27EjT+e52rMleLw+vPL10XLNnhlbdUIs+92pN+291\niz5pCzytK6R6o4G0VpG0GpoZK9WkmQaa772TDC3My7DERlbAzGPaKOtpw24XJ9ArdRO4tIcWVqaY\n5tIUGzfeECvVUiwWufLKK3juue/z5ptvZjrdUS9FlXR7xE7o5FBUSVGzZ4ZW3VCLPnXtXm8laZpi\n9+49vnDhgC9Z8qFMt+TnhNaiz1t5uxXtTt0AS4HHgcPAz4CPAsuBp4CXgAPA0nlem/ovpNs1svrl\nzMyM79x5T+I8ctIgsXv3HoeCw4cdVjjcl3qQaeXJrd4Wg1lPQ7lrtdS86ESgfxi4Lbp/YRT47wP+\nJDr2FeDeeV6b8q9D6gXfuQ02KpfljRNgkwSJmZkZX7hwWcXSwCu8v/+3UgsyrewkrXfCyEvOWy36\nfGhroAcGgJ9XOX4EuCi6fzFwZJ7Xp/rLkJL6I2Me8dIGG8lacUmCxOTkpC9ZMlyxNPA1vnDhQGod\nyApo1eXpCqRbtTvQfxj4EfAQ8DywB1gEnKj4ud/M8/qUfx0yp1qL8t0W+EyUKpk/6DXaIi3l2Jf5\nkiXXJp7UBAXfvXtPvArXUe/qIy8t8LR0e/2zLk6gTzLq5kJgLfDH7v6smd0PbAMqVyqbd+WyHTt2\nnL0/MjLCyMhIguLIfKpNvnp3wtMvgV3ACLCCQuHEOROKGh2FMT6+n7vu2kZv72WcOvUKDzzwH+qO\n1iifSDQ3qenCC9/LqVNHeeCBB/ijP/p8K6p/nlqTvTTqJPuT9brNxMQEExMTyd6k2TODv9sivwh4\npezx7wB/Raljtjx1c3ie16d72pO6yi/T+/qW+c6d95zXkm8kxREnFVJthE07W5LVUhRK6Uge0IHO\n2L8GVkf3t1PqiL0P+Ep0TJ2xGVcruDbawdpsR2wnRthUU1l3jTqRPIgT6JNOmPoi8IiZ9QCvALcB\nFwCPmdnngGPALQk/Q1I032V6sVjkxIkTvP32K9TbJamZ3ZSKxSJ33vknwA/P/ixs4IILLmn5RKJ6\na8xU1j3ru0KJxNbsmaFVN9Siz6zyoYe9vUu9p6e/7iiMRkdrtGuETdzhkxp1IlmHdpjqDmmuhjjf\nbk7f+c44w8PDNT+vkXJVe3+4jt27W9f5mnRHKq02KVmmHaa6QJINPaD+rk/zbdSxfPnyukGvkd2U\nyjdWWbJkmIULP9ZwkG90x6qkm41oVygJTrOXAK26odRN05KOCmkkndGukSdxN9puJBWj0TMSMrRM\ncdiSLjPQaPBrJE/dzqGQcQK3cu0SKgX6wCVdZqCZk0StQN7uzTTinuA0w1NCpEBfQyh/9HFbqq1K\nZ3QiLaJUjMi74gT6ruiMTdqBmRXlm3IcPPggx44dqTo9v1qnZXkn6MDAWgqFDbH2Tk3a0dmo8jq0\nquwiXavZM0OrbrSpRR9Ka7DRdEm9n0t6ZdOO3+d8dQjlqkwkCZS6OV8I09rTXHMmjjQ7a0M5MYuk\nJU6gDz51c+60dsjjtPZG0yXtSqts2bKZY8eOzJs+SpIqa1cdRLpKs2eGVt1oY2dsFofaNbMrUdZa\n9LUkLUMW6iCSZSh1M78s5Xfr5dGrPd/oyarTJ7VWpMo6XQeRLIsT6LXWTZvVW4el1vNAQ2uwdHKt\nlqTrzJS/j9abETlfnLVuki5TLE2ay0HPzp6fgx4cHKz5fKPrr3Ryh6C5oZCjoxvo6Rni9OljsYZC\n1lo+WScAkeYE3xmbNfU6h0PoPK7XWRtXKPMhRNpNqZsOmNuXtLzFWx4M6z3fjVqVEhLJuzipGwX6\nDqmXglCK4lxTU1Ns2nQ7J08+d/bYwMBaDh58kHXr1nWwZCLtpUAvwVKLXqREG49IsLTejUh8atFn\njFI2ten3I91OqZucm+uE7e0tjbxRJ6yIVFKgz7Es5qDLW8/Q2GQtEUmXcvQ5lrXFvMrHrK9ceRWX\nXnqFxq+L5JRa9BmRpRZ9tbLACPAS8MuOX2mIdDO16HMsS6NKql1dwCrgKJ2+0hCR5qlFnzFZGFWi\nFr1IdqkzVlqmfBmGt956Bfd/oFC4SksyiHSYAr209IpAo25Esqcjgd7MFgDPAr9w95vMbDmwHxii\nlNS9xd1PVnmdAn2LaRy+SPg6FejvAj4CDESB/j7g1+7+dTP7CrDc3bdVeZ0CfQtladSOiKSn7aNu\nzGwl8Cngz8sO3wzsje7vBT6d5DOkMVkbhy8i2ZF0eOX9wJeB8qb5Re5+HMDd3wDek/AzpAEhbFgi\nIumIHejN7PeA4+7+E6DWZYTyM22QpXH4IpItSfaMvR64ycw+BRSAJWb2LeANM7vI3Y+b2cXAzHxv\nsGPHjrP3R0ZGGBkZSVAc2bJlMxs33qDRMSIBmZiYYGJiItF7tGR4pZl9DPhS1Bn7dUqdsfepM1ZE\npLWysgTCvcAmM3sJ+Hj0WEREOkQTpkREciQrLXoREckQBXoRkcAp0IuIBE6BXkQkcAr0IiKBU6AX\nEQmcAr2ISOAU6EVEAqdAnyHFYpGpqSmKxWKniyIiAVGgz4jx8f0MDV3Npk23MzR0NePj+ztdJBEJ\nhJZAyADtDiUijdISCDml3aFEJE0K9Bmg3aFEJE0K9Bmg3aFEJE3K0WdIsVjU7lAiUlOcHL0CvYhI\njqgzVkREzqNALyISOAV6EZHAKdCLiAROgV5EJHAK9CIigVOgFxEJnAK9iEjgFOhFRAKnQC8iEjgF\nehGRwCnQi4gELnagN7OVZvaMmf3MzF40sy9Gx5eb2VNm9pKZHTCzpa0rroiINCtJi/4d4N+5+weB\n3wb+2MyuBrYBB939/cAzwN3Ji5k/ExMTnS5CqlS/fAu5fiHXLa7Ygd7d33D3n0T33wQOAyuBm4G9\n0Y/tBT6dtJB5FPp/NtUv30KuX8h1i6slOXozWwVcC/wQuMjdj0PpZAC8pxWfISIi8SQO9GbWD/wF\ncGfUsq/cTUS7i4iIdFCiHabM7ELgr4D/6u4PRMcOAyPuftzMLgYOufuaKq/VCUBEJIZmd5i6MOHn\n/Wdgei7IR54AbgXuAz4LfLfaC5stqIiIxBO7RW9m1wP/A3iRUnrGga8Ck8BjwGXAMeAWd/+/LSmt\niIg0rWObg4uISHu0ZWZsyJOrzGyhmf3IzH4c1W17dDz3dStnZgvM7HkzeyJ6HEz9zOyomf00+g4n\no2Mh1W+pmT1uZoejv8GPhlI/M1sdfW/PR/+eNLMvBlS/u8zsb8zsBTN7xMx649StXUsgBDu5yt3f\nBja4+zClIaY3mtl6AqhbhTuB6bLHIdXvDKUBBMPuvj46FlL9HgCejAZFfBg4QiD1c/f/HX1va4GP\nAH8P/BcCqJ+ZXQJ8AVjr7tdQ6lPdQpy6uXvbb8B3gI2U/sNdFB27GDjSifK0sF6LgGeBdSHVjdJE\nuKeBEeCJ6FhI9ftb4B9VHAuifsAA8PMqx4OoX0WdPgH8z1DqB1xCqZ9zeRTkn4gbN9u+qFmIk6ui\ntMaPgTeAp919ikDqFrkf+DLnzokIqX4OPG1mU2b2h9GxUOp3OfArM3soSm/sMbNFhFO/cpuBfdH9\n3NfP3f8P8A3gVeB14KS7HyRG3doa6EOdXOXuZ7yUulkJrDezDxJI3czs94DjXlruotaQ2FzWL3K9\nly79P0UprfjPCOT7o9QSXAt8M6rj31O69A+lfgCYWQ9wE/B4dCj39TOzZZSWlBmi1LpfbGa/T4y6\ntS3QR5Or/gL4lrvPja0/bmYXRc9fDMy0qzxpcPf/B0wAv0s4dbseuMnMXgHGgRvM7FvAG4HUD3f/\nZfRvkVJacT3hfH+/AF5z92ejx39JKfCHUr85NwLPufuvosch1G8j8Iq7/8bd/4FS38M/JUbd2tmi\nrzW5CmpMrsoyM/vHc73eZlYANlFa4C33dQNw96+6+3vd/QrgM8Az7v4HwPcIoH5mtii60sTMFlPK\n875ION/fceA1M1sdHfo48DMCqV+ZLZQaInNCqN+rwHVm1mdmRum7myZG3doyjj7kyVVm9iFKq3Qu\niG773f0eM1tBzutWycw+BnzJ3W8KpX5mdjmllpJTSnM84u73hlI/ADP7MPDnQA/wCnAbcAHh1G8R\npTpc4e5/Fx0L4vuLhmt/BjgN/Bj4Q2AJTdZNE6ZERAKnrQRFRAKnQC8iEjgFehGRwCnQi4gEToFe\nRCRwCvQiIoFToBcRCZwCvYhI4P4/a5NqRuOuzHQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc91e39748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 载入数据\n",
    "data = np.genfromtxt(\"data.csv\",delimiter=\",\")\n",
    "x_data = data[:,0]\n",
    "y_data = data[:,1]\n",
    "plt.scatter(x_data,y_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#学习率\n",
    "lr = 0.0001\n",
    "#截距\n",
    "b = 0\n",
    "#斜率\n",
    "k = 0\n",
    "#最大迭代次数\n",
    "epochs = 50\n",
    "\n",
    "\n",
    "#最小二乘法\n",
    "def  minimum_squares(x_data,y_data,b,k):\n",
    "    totalError = 0\n",
    "    for i in range(0,len(x_data)):\n",
    "        totalError += (y_data[i] - (k*x_data[i] + b)) ** 2\n",
    "    return totalError / float(len(data)) / 2.0\n",
    "\n",
    "def gradient_descent_runner(x_data,y_data,b,k,lr,epochs):\n",
    "    #计算总数据量\n",
    "    m = float(len(x_data))\n",
    "    #循环epochs次\n",
    "    for i in range (epochs):\n",
    "        b_grad = 0\n",
    "        k_grad = 0\n",
    "        \n",
    "        #计算梯度的总和再求平均\n",
    "        for j in range(0,len(x_data)):\n",
    "            b_grad += (1/m) *(((k*x_data[j]) +b) - y_data[j])\n",
    "            k_grad += (1/m) *(((k*x_data[j]) +b) - y_data[j]) * x_data[j]\n",
    "            \n",
    "        #更新b和k\n",
    "        b = b - (lr * b_grad)\n",
    "        k = k - (lr * k_grad)\n",
    "        #每迭代5次，输出一次图像\n",
    "        \n",
    "        if i % 5 == 0:\n",
    "            print(\"epochs:\",i)\n",
    "            plt.plot(x_data,y_data,'b.')\n",
    "            plt.plot(x_data,k*x_data+b,'r')\n",
    "            plt.show()\n",
    "            \n",
    "    return b,k\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Staring b =0,k = 0, error = 2782.5539172416056\n",
      "Running.....\n",
      "epochs: 0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc929b9748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 5\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc95b3a208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nzoHezCzn/j+Vrp4quNFIvwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc92586128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 15\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc91d19d30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 20\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc92754828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 25\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc91d15ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 30\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc954b7358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 35\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc91e48f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 40\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc9272e860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epochs: 45\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc92802fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "After 50 iterations b = 0.030569950649287983,k=1.4788903781318357,error = 56.32488184238028\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc95b31ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"Staring b ={0},k = {1}, error = {2}\" .format(b,k,minimum_squares(x_data,y_data,b,k)))\n",
    "print(\"Running.....\")\n",
    "b,k = gradient_descent_runner(x_data,y_data,b,k,lr,epochs)\n",
    "print(\"After {0} iterations b = {1},k={2},error = {3}\" .format(epochs,b,k,minimum_squares(x_data,y_data,b,k)))\n",
    "\n",
    "#画图\n",
    "plt.plot(x_data,y_data,'b.')\n",
    "plt.plot(x_data,k*x_data+b, 'r')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [Root]",
   "language": "python",
   "name": "Python [Root]"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
